import request from "@/utils/request";

const SYSEVENTCENTER_BASE_URL = "/api/v1/sysEventCenters";

const SysEventCenterAPI = {
  /** 获取赛事中心分页数据 */
  getPage(queryParams?: SysEventCenterPageQuery) {
    return request<any, PageResult<SysEventCenterPageVO[]>>({
      url: `${SYSEVENTCENTER_BASE_URL}/page`,
      method: "get",
      params: queryParams,
    });
  },
  /**
   * 获取赛事中心表单数据
   *
   * @param id 赛事中心ID
   * @returns 赛事中心表单数据
   */
  getFormData(id: number) {
    return request<any, SysEventCenterForm>({
      url: `${SYSEVENTCENTER_BASE_URL}/${id}/form`,
      method: "get",
    });
  },

  /** 添加赛事中心*/
  add(data: SysEventCenterForm) {
    return request({
      url: `${SYSEVENTCENTER_BASE_URL}`,
      method: "post",
      data: data,
    });
  },

  /**
   * 更新赛事中心
   *
   * @param id 赛事中心ID
   * @param data 赛事中心表单数据
   */
  update(id: number, data: SysEventCenterForm) {
    return request({
      url: `${SYSEVENTCENTER_BASE_URL}/${id}`,
      method: "put",
      data: data,
    });
  },

  /**
   * 批量删除赛事中心，多个以英文逗号(,)分割
   *
   * @param ids 赛事中心ID字符串，多个以英文逗号(,)分割
   */
  deleteByIds(ids: string) {
    return request({
      url: `${SYSEVENTCENTER_BASE_URL}/${ids}`,
      method: "delete",
    });
  }
}

export default SysEventCenterAPI;

/** 赛事中心分页查询参数 */
export interface SysEventCenterPageQuery extends PageQuery {
  /** 联赛名称 */
  name?: string;
  /** 开赛时间 */
  startDate?: [string, string];
}

/** 赛事中心表单对象 */
export interface SysEventCenterForm {
  id?:  number;
  /** 联赛名称 */
  name?:  string;
  /** 开赛时间 */
  startTime?:  Date;
  /** 主队 */
  homeTeam?:  string;
  /** 客队 */
  patronTeam?:  string;
  /** 推荐 */
  recommend?:  string;
  /** 重心指数 */
  exponent?:  number;
  /** 完赛比分 */
  score?:  string;
  /** 结果 */
  result?:  string;
  /** 颜色 */
  color?:  string;
}

/** 赛事中心分页对象 */
export interface SysEventCenterPageVO {
  id?: number;
  /** 联赛名称 */
  name?: string;
  /** 开赛时间 */
  startTime?: Date;
  /** 主队 */
  homeTeam?: string;
  /** 客队 */
  patronTeam?: string;
  /** 推荐 */
  recommend?: string;
  /** 重心指数 */
  exponent?: number;
  /** 完赛比分 */
  score?: string;
  /** 结果 */
  result?: string;
  /**
   * 背景色
   */
  color?: string;
}
